// var i;
// var s = cc._decorator;
// var c = s.ccclass;
// var l = s.property;
// var u =
//     (s.menu,
//     (function (e) {
//         function t() {
//             var t = (null !== e && e.apply(this, arguments)) || this;
//             t.label_ele = null;
//             t.mask = null;
//             return t;
//         }
//         __extends(t, e);
//         t.prototype.onLoad = function () {};
//         t.prototype.start = function () {};
//         t.prototype.zhixing_chushihua_chuli = function (e) {
//             var t = this;
//             var n = e.propButton;
//             this.mask.active = !1;
//             this.scheduleOnce(function () {
//                 t.mask.active = !0;
//                 var e = n.node.convertToWorldSpaceAR(cc.v2(0, 0));
//                 var o = t.node.convertToNodeSpaceAR(e);
//                 t.mask.setPosition(o);
//                 t.mask.getChildByName("bg").getComponent(cc.Widget).updateAlignment();
//             });
//             this.node.on(
//                 cc.Node.EventType.TOUCH_END,
//                 function () {
//                     t.node.destroy();
//                 },
//                 this
//             );
//             this.node._touchListener.setSwallowTouches(!1);
//         };
//         __decorate([l(cc.Label)], t.prototype, "label_ele", void 0);
//         __decorate([l(cc.Node)], t.prototype, "mask", void 0);
//         return __decorate([c], t);
//     })(cc.Component));
// exports.default = u;


// 引入cc._decorator模块
const { ccclass, property, menu } = cc._decorator;

/**
 * MyComponent类，继承自cc.Component
 */
@ccclass
class MyComponent extends cc.Component {
    /** label_ele 属性，类型为cc.Label */
    @property(cc.Label)
    label_ele = null;

    /** mask 属性，类型为cc.Node */
    @property(cc.Node)
    mask = null;

    /**
     * onLoad生命周期方法
     */
    onLoad() {}

    /**
     * start生命周期方法
     */
    start() {}

    /**
     * 初始化方法
     * @param {Object} event - 包含初始化所需数据的对象
     */
    zhixing_chushihua_chuli(event) {
        const self = this;
        const { propButton } = event;

        // 隐藏mask节点
        this.mask.active = false;

        // 延迟执行
        this.scheduleOnce(() => {
            // 显示mask节点
            self.mask.active = true;

            // 将按钮节点的世界坐标转换为当前节点的局部坐标
            const worldPos = propButton.node.convertToWorldSpaceAR(cc.v2(0, 0));
            const localPos = self.node.convertToNodeSpaceAR(worldPos);

            // 设置mask节点的位置
            self.mask.setPosition(localPos);

            // 更新mask节点子节点bg的对齐方式
            self.mask.getChildByName("bg").getComponent(cc.Widget).updateAlignment();
        });

        // 监听触摸结束事件，销毁当前节点
        this.node.on(cc.Node.EventType.TOUCH_END, () => {
            self.node.destroy();
        }, this);

        // 设置触摸事件是否吞噬
        this.node._touchListener.setSwallowTouches(false);
    }
}

// 导出MyComponent类
exports.default = MyComponent;
